package com.miracle.erp.servlet.user;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sun.org.apache.bcel.internal.generic.NEW;

import com.miracle.erp.service.IUserService;
import com.miracle.erp.util.AjaxObj;
import com.miracle.erp.util.ObjectFactory;
import com.miracle.erp.model.User;

@WebServlet("/user/update")
public class UserUpdateServlet extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
					// 想想这里该做什么  身为servlet 要与service进行交互
					// 既然获取信息 那么就需要获取
					
					// 任務概述 页面由此进入后台，修改数据  ，返回数据给页面
					
					// 路由过来 但是最终它要去给页面发送数据库传递过来的信息 
					// 搞一波调用
					doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
					// 這裏做的是要修改数据库中的值
					// 此时用户已经更改了数据
					// 所以我们这里要获取用户更改的数据
					// 然后 去数据库中修改
					
					// 获取
					String username = req.getParameter("username");
					String nickname = req.getParameter("nickname");
					String password = req.getParameter("password");
					int id = Integer.parseInt(req.getParameter("id")) ;
					int sex = Integer.parseInt(req.getParameter("sex"));
					int age = Integer.parseInt(req.getParameter("age"));
					
					// 封装
					User user = ObjectFactory.getUser();
					user.setAge(age);
					user.setId(id);
					user.setNickname(nickname);
					user.setPassword(password);
					user.setSex(sex);
					user.setUsername(username);
		
					// 逻辑操作  啥也不管直接先与IUserService关联
					// 实例化对象
					IUserService userService = ObjectFactory.getUserService();	
					// 然后 我们要做什么事情 就在这里用什么方法 
					// 要是没有这个方法 那我们就去创建方法
					userService.update(user);
					
					// 经过一系列操作 已经完成了对数据库的删除操作
					
					// 向浏览器传递成功提示
//					resp.getWriter().println(new AjaxObj(1,"更新成功").toJSON());
				resp.getWriter().println("更新成功");
		
		
		
	}
}
